{{tag>serveur réseau sgbd BROUILLON}}

===== Déplacer ses bases de données MySql ======

===== Préambule =====

la plupart des utilisateurs créent de 2 à 3 partitions sur leur(s) installation(s)
  * / - une partition système
  * swap - une partition de de //swap//
  * /home - une partition réservée aux utilisateurs

L'intérêt de ce mode de partitionning est qu'en cas de re-installation, les données utilisateurs (données, profils, compte courrier, favoris internet, thème de bureau, etc.) sont sauvegardées et aussitôt exploitable. Ça n'est malheureusement pas le cas pour les base de données MySql, et un utilisateur non averti, écrsera sans le savoir ses bases de données qui sotn stockées sur **/var/lib/mysql** (et donc la parttion '**/**' système.

Il peut donc être intéressant pour celà de déplacer ses bases de données dans la partition /home.

===== Mise en place =====

Arrêter mysql : 
<code>sudo /etc/init.d/mysql stop</code>

Déplacer le répertoire des bases de données :
<code>sudo mv /var/lib/mysql /home/mysql</code>
Le déplacement par 'mv' permet de ne pas modifier les droits originaux.

Créer un lien symbolique afin de ne pas "//casser//" les fichiers de configuration originel de MySql :
<code>sudo ln -s /home/mysql /var/lib/mysql</code>

Pour les versions d'Ubuntu utilisant [[/apparmor|Apparmor]], il vous faut modifier le fichier de configuration mysql dans Apparmor.

[[/tutoriel/comment_modifier_un_fichier|Éditer]] **/etc/apparmor.d/usr.sbin.mysqld**

Trouver les deux lignes :
<file>
  /var/lib/mysql/ r,
  /var/lib/mysql/** rwk,
</file>
et modifier les en :
<file>
  /home/mysql/ r,
  /home/mysql/** rwk,
</file>

On relance la configuration d'Apparmor :
<code>sudo /etc/init.d/apparmor reload</code>

on relance MySql :
<code>sudo /etc/init.d/mysql start</code>

Et voilà.